//1.抽象支付接口
abstract class Payment {
  // 定义一个抽象方法
  void pay(double amount);//统一的支付方法
}

//2.具体的支付类
class Alipay extends Payment{
  @override
  void pay(double amount) {
    print('支付宝支付了$amount元');
  }
}

//3.具体的支付类
class WechatPay extends Payment{
  @override
  void pay(double amount) {
    print('微信支付了$amount元');
  }
}

//4.具体的支付类
class UnionPay extends Payment{
  @override
  void pay(double amount) {
    print('银联支付了$amount元');
  }
}

//创建不同的支付对象
void main(){
  final ali=Alipay();
  final wechat=WechatPay();
  final union=UnionPay();

  //多态调用支付方法
  ali.pay(100);//输出：支付宝支付了100元
  wechat.pay(200);//输出：微信支付了200元
  union.pay(300);//输出：银联支付了300元

}

